@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
@@ -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
  // Provides class sap.ui.model.odata.TreeBindingAdapter
8
8
  sap.ui.define(["sap/base/util/each"],
9
9
  function(each) {
@@ -15,13 +15,20 @@ sap.ui.define(["sap/base/util/each"],
15
15
  *
16
16
  * This module is only for experimental and internal use!
17
17
  *
18
+ * @param {sap.ui.model.TreeBinding} oBinding
19
+ * The binding to add ListBinding functionality to
20
+ * @param {object} oControl
21
+ * The tree or tree table control using the given binding; the control is used for
22
+ * selection handling
23
+ *
18
24
  * @alias sap.ui.model.TreeBindingCompatibilityAdapter
19
25
  * @class
20
26
  * @protected
27
+ *
28
+ * @deprecated use {@link sap.ui.model.TreeBindingAdapter} instead
21
29
  */
22
- var TreeBindingCompatibilityAdapter = function (oBinding, oTable) {
30
+ var TreeBindingCompatibilityAdapter = function (oBinding, oControl) {
23
31
  // Code necessary for ClientTreeBinding
24
- var that = oTable;
25
32
  Object.assign(oBinding, {
26
33
  _init: function(bExpandFirstLevel) {
27
34
  this._bExpandFirstLevel = bExpandFirstLevel;
@@ -219,19 +226,19 @@ sap.ui.define(["sap/base/util/each"],
219
226
  this.toggleContext(this.getContextByIndex(iRowIndex));
220
227
  },
221
228
  storeSelection: function() {
222
- var aSelectedIndices = that.getSelectedIndices();
229
+ var aSelectedIndices = oControl.getSelectedIndices();
223
230
  var aSelectedContexts = [];
224
231
  each(aSelectedIndices, function(iIndex, iValue) {
225
- aSelectedContexts.push(that.getContextByIndex(iValue));
232
+ aSelectedContexts.push(oControl.getContextByIndex(iValue));
226
233
  });
227
234
  this._aSelectedContexts = aSelectedContexts;
228
235
  },
229
236
  restoreSelection: function() {
230
- that.clearSelection();
237
+ oControl.clearSelection();
231
238
  var _aSelectedContexts = this._aSelectedContexts;
232
239
  each(this.aContexts, function(iIndex, oContext) {
233
240
  if (((_aSelectedContexts ? _aSelectedContexts.indexOf(oContext) : -1)) >= 0) {
234
- that.addSelectionInterval(iIndex, iIndex);
241
+ oControl.addSelectionInterval(iIndex, iIndex);
235
242
  }
236
243
  });
237
244
  this._aSelectedContexts = undefined;
@@ -242,13 +249,13 @@ sap.ui.define(["sap/base/util/each"],
242
249
  },
243
250
  detachSelectionChanged: function() {}, // for compatibility
244
251
  clearSelection: function () {
245
- that._oSelection.clearSelection();
252
+ oControl._oSelection.clearSelection();
246
253
  },
247
254
  attachSort: function() {},
248
255
  detachSort: function() {}
249
256
  });
250
257
  // initialize the binding
251
- oBinding._init(oTable.getExpandFirstLevel());
258
+ oBinding._init(oControl.getExpandFirstLevel());
252
259
 
253
260
  };
254
261
 
@@ -3,6 +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
+ /*eslint-disable max-len */
6
7
  sap.ui.define(function() {
7
8
  "use strict";
8
9
 
@@ -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.93.3
22
+ * @version 1.96.2
23
23
  */
24
24
  var Type = BaseObject.extend("sap.ui.model.Type", /** @lends sap.ui.model.Type.prototype */ {
25
25
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  // Disable some ESLint rules. camelcase (some "_" in names to indicate indexed variables (like in math)), valid-jsdoc (not completed yet), no-warning-comments (some TODOs are left)
8
8
  // All other warnings, errors should be resolved
9
- /*eslint camelcase:0, valid-jsdoc:0, no-warning-comments:0 */
9
+ /*eslint camelcase:0, valid-jsdoc:0, no-warning-comments:0, max-len:0 */
10
10
 
11
11
  // Provides class sap.ui.model.odata.ODataListBinding
12
12
  sap.ui.define([
@@ -335,13 +335,16 @@ sap.ui.define([
335
335
 
336
336
  // considering different count mode settings
337
337
  if (mParameters && mParameters.countMode == CountMode.None) {
338
- oLogger.fatal("requested count mode is ignored; OData requests will include $inlinecout options");
338
+ oLogger.fatal("requested count mode is ignored; OData requests will include"
339
+ + " $inlinecount options");
339
340
  } else if (mParameters
340
341
  && (mParameters.countMode == CountMode.Request
341
342
  || mParameters.countMode == CountMode.Both)) {
342
- oLogger.warning("default count mode is ignored; OData requests will include $inlinecout options");
343
+ oLogger.warning("default count mode is ignored; OData requests will include"
344
+ + " $inlinecount options");
343
345
  } else if (this.oModel.sDefaultCountMode == CountMode.Request) {
344
- oLogger.warning("default count mode is ignored; OData requests will include $inlinecout options");
346
+ oLogger.warning("default count mode is ignored; OData requests will include"
347
+ + " $inlinecount options");
345
348
  }
346
349
 
347
350
  // detect ODataModel version
@@ -3380,6 +3383,7 @@ sap.ui.define([
3380
3383
  // function implementation starts here
3381
3384
 
3382
3385
  if (oData.results.length == 0) {
3386
+ this.bNeedsUpdate = true;
3383
3387
  return;
3384
3388
  }
3385
3389
  // Collecting contexts
@@ -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
  // Provides class sap.ui.model.odata.ODataAnnotations
8
8
  sap.ui.define([
9
9
  "./AnalyticalBinding",
@@ -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
  /**
8
8
  * Analytical Version Information, used to figure out the version of the ODataModel
9
9
  *
@@ -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
  /**
8
8
  * Internal Component of the AnalyticalBinding, only used there
9
9
  *
@@ -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
  /**
8
8
  * Analytical Adapter for ODataModels
9
9
  *
@@ -4,9 +4,10 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- // Disable some ESLint rules. camelcase (some "_" in names to indicate indexed variables (like in math)), valid-jsdoc (not completed yet), no-warning-comments (some TODOs are left)
7
+ // Disable some ESLint rules. camelcase (some "_" in names to indicate indexed variables (like in
8
+ // math)), valid-jsdoc (not completed yet), no-warning-comments (some TODOs are left)
8
9
  // All other warnings, errors should be resolved
9
- /*eslint-disable camelcase, valid-jsdoc, no-warning-comments */
10
+ /*eslint-disable camelcase, valid-jsdoc, no-warning-comments, max-len */
10
11
 
11
12
  // Provides API for analytical extensions in OData service metadata
12
13
  sap.ui.define([
@@ -146,18 +147,20 @@ sap.ui.define([
146
147
  /**
147
148
  * Create a representation of the analytical semantics of OData service metadata
148
149
  *
149
- * @param {object}
150
- * oModelReference An instance of ReferenceByURI, ReferenceByModel or
151
- * ReferenceWithWorkaround for locating the OData service.
152
- * @param {object}
153
- * [mParameter] Additional parameters for controlling the model construction. Currently supported are:
154
- * <li> sAnnotationJSONDoc - A JSON document providing extra annotations to the elements of the
155
- * structure of the given service
156
- * </li>
157
- * <li> modelVersion - Parameter to define which ODataModel version should be used, in you use
158
- * 'odata4analytics.Model.ReferenceByURI': 1 (default), 2
159
- * see also: AnalyticalVersionInfo constants
160
- * </li>
150
+ * @param {object} oModelReference
151
+ * An instance of {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByModel} or
152
+ * {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceWithWorkaround} for locating
153
+ * the OData service. {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByURI} is
154
+ * deprecated.
155
+ * @param {object} [mParameter]
156
+ * Additional parameters for controlling the model construction. Currently supported are:
157
+ * <li> sAnnotationJSONDoc - A JSON document providing extra annotations to the elements of
158
+ * the structure of the given service
159
+ * </li>
160
+ * <li> modelVersion (deprecated) - Parameter to define which ODataModel version should be
161
+ * used if you use {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByURI};
162
+ * supported values are: 1 (default), 2
163
+ * </li>
161
164
  *
162
165
  * @class Representation of an OData model with analytical annotations defined
163
166
  * by OData4SAP.
@@ -177,6 +180,8 @@ sap.ui.define([
177
180
  *
178
181
  * @class Handle to an OData model by the URI pointing to it.
179
182
  * @name sap.ui.model.analytics.odata4analytics.Model.ReferenceByURI
183
+ * @deprecated Since 1.94 use
184
+ * {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByModel} instead
180
185
  * @public
181
186
  */
182
187
  odata4analytics.Model.ReferenceByURI = function(sURI) {
@@ -219,12 +224,12 @@ sap.ui.define([
219
224
  * exists, they are linked via annotation.</li>
220
225
  *
221
226
  *
222
- * @param {object}
223
- * oModel holding a reference to the OData model, obtained
224
- * by odata4analytics.Model.ReferenceByModel or by
225
- * sap.odata4analytics.Model.ReferenceByURI.
226
- * @param {string[]}
227
- * aWorkaroundID listing all workarounds to be applied.
227
+ * @param {object} oModel
228
+ * Holds a reference to the OData model, obtained by
229
+ * {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByModel}, or by
230
+ * {@link sap.ui.model.analytics.odata4analytics.Model.ReferenceByURI} which is deprecated.
231
+ * @param {string[]} aWorkaroundID
232
+ * All workarounds to be applied.
228
233
  *
229
234
  * @class Handle to an already instantiated SAPUI5 OData model.
230
235
  * @name sap.ui.model.analytics.odata4analytics.Model.ReferenceWithWorkaround
@@ -245,12 +250,14 @@ sap.ui.define([
245
250
  * @private
246
251
  */
247
252
  _init : function(oModelReference, mParameter) {
253
+ var ODataModelClass,
254
+ that = this;
255
+
248
256
  if (typeof mParameter == "string") {
249
257
  throw "Deprecated second argument: Adjust your invocation by passing an object with a property sAnnotationJSONDoc as a second argument instead";
250
258
  }
251
259
  this._mParameter = mParameter;
252
260
 
253
- var that = this;
254
261
  /*
255
262
  * get access to OData model
256
263
  */
@@ -277,14 +284,16 @@ sap.ui.define([
277
284
  checkForMetadata();
278
285
  } else if (mParameter && mParameter.modelVersion === AnalyticalVersionInfo.V2) {
279
286
  // Check if the user wants a V2 model
280
- var V2ODataModel = sap.ui.requireSync("sap/ui/model/odata/v2/ODataModel");
281
- this._oModel = new V2ODataModel(oModelReference.sServiceURI);
287
+ ODataModelClass = sap.ui.require("sap/ui/model/odata/v2/ODataModel") ||
288
+ sap.ui.requireSync("sap/ui/model/odata/v2/ODataModel");
289
+ this._oModel = new ODataModelClass(oModelReference.sServiceURI);
282
290
  this._iVersion = AnalyticalVersionInfo.V2;
283
291
  checkForMetadata();
284
292
  } else {
285
293
  //default is V1 Model
286
- var ODataModel = sap.ui.requireSync("sap/ui/model/odata/ODataModel");
287
- this._oModel = new ODataModel(oModelReference.sServiceURI);
294
+ ODataModelClass = sap.ui.require("sap/ui/model/odata/ODataModel") ||
295
+ sap.ui.requireSync("sap/ui/model/odata/ODataModel");
296
+ this._oModel = new ODataModelClass(oModelReference.sServiceURI);
288
297
  this._iVersion = AnalyticalVersionInfo.V1;
289
298
  checkForMetadata();
290
299
  }
@@ -23,6 +23,10 @@ sap.ui.define([
23
23
  function _adaptDeepChildObservation(caller, oControl, oAggregation, bObserve) {
24
24
  var aChildren = oAggregation.get(oControl) || [], oChild, bRecord;
25
25
 
26
+ if (aChildren && !Array.isArray(aChildren) && !oAggregation.multiple) {
27
+ aChildren = [aChildren];
28
+ }
29
+
26
30
  for (var i = 0; i < aChildren.length; i++) {
27
31
  oChild = aChildren[i];
28
32
  if (!(oChild instanceof ManagedObject)) {
@@ -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
  // Provides the JSON model implementation of a list binding
8
8
  sap.ui.define([
9
9
  "sap/base/Log",
@@ -142,20 +142,22 @@ sap.ui.define([
142
142
  };
143
143
 
144
144
  /**
145
- * Check whether this Binding would provide new values and in case it changed,
146
- * inform interested parties about this.
145
+ * Check whether this Binding would provide new values and in case it changed, fire a change
146
+ * event with change reason <code>sap.ui.model.ChangeReason.Change</code>.
147
147
  *
148
148
  * @param {boolean} bForceupdate
149
+ * Whether the change event will be fired regardless of the bindings state
149
150
  *
150
151
  */
151
152
  JSONListBinding.prototype.checkUpdate = function(bForceupdate){
153
+ var oList;
152
154
 
153
155
  if (this.bSuspended && !this.bIgnoreSuspend && !bForceupdate) {
154
156
  return;
155
157
  }
156
158
 
157
159
  if (!this.bUseExtendedChangeDetection) {
158
- var oList = this.oModel._getObject(this.sPath, this.oContext) || [];
160
+ oList = this.oModel._getObject(this.sPath, this.oContext) || [];
159
161
  if (!deepEqual(this.oList, oList) || bForceupdate) {
160
162
  this.update();
161
163
  this._fireChange({reason: ChangeReason.Change});
@@ -165,7 +167,7 @@ sap.ui.define([
165
167
  var that = this;
166
168
 
167
169
  //If the list has changed we need to update the indices first
168
- var oList = this.oModel._getObject(this.sPath, this.oContext) || [];
170
+ oList = this.oModel._getObject(this.sPath, this.oContext) || [];
169
171
  if (this.oList.length != oList.length) {
170
172
  bChangeDetected = true;
171
173
  }
@@ -185,6 +187,7 @@ sap.ui.define([
185
187
  bChangeDetected = true;
186
188
  return false;
187
189
  }
190
+ return true;
188
191
  });
189
192
  }
190
193
  } else {
@@ -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
  /**
8
8
  * JSON-based DataBinding
9
9
  *
@@ -37,12 +37,14 @@ sap.ui.define([
37
37
  * @param {boolean} [bObserve] Whether to observe the JSON data for property changes (experimental)
38
38
  *
39
39
  * @class
40
- * Model implementation for JSON format
40
+ * Model implementation for the JSON format.
41
+ *
42
+ * This model is not prepared to be inherited from.
41
43
  *
42
44
  * @extends sap.ui.model.ClientModel
43
45
  *
44
46
  * @author SAP SE
45
- * @version 1.93.3
47
+ * @version 1.96.2
46
48
  * @public
47
49
  * @alias sap.ui.model.json.JSONModel
48
50
  */
@@ -116,12 +118,14 @@ sap.ui.define([
116
118
  }
117
119
  }
118
120
  function observeRecursive(oObject, oParentObject, sName) {
121
+ var i;
122
+
119
123
  if (Array.isArray(oObject)) {
120
- for (var i = 0; i < oObject.length; i++) {
124
+ for (i = 0; i < oObject.length; i++) {
121
125
  observeRecursive(oObject[i], oObject, i);
122
126
  }
123
127
  } else if (isPlainObject(oObject)) {
124
- for (var i in oObject) {
128
+ for (i in oObject) {
125
129
  observeRecursive(oObject[i], oObject, i);
126
130
  }
127
131
  }
@@ -209,10 +213,10 @@ sap.ui.define([
209
213
  // the textStatus is either passed by jQuery via arguments,
210
214
  // or by us from a promise reject() in the async case
211
215
  var sMessage = sTextStatus || oParams.textStatus;
212
- var oParams = bAsync ? oParams.request : oParams;
213
- var iStatusCode = oParams.status;
214
- var sStatusText = oParams.statusText;
215
- var sResponseText = oParams.responseText;
216
+ var oParameters = bAsync ? oParams.request : oParams;
217
+ var iStatusCode = oParameters.status;
218
+ var sStatusText = oParameters.statusText;
219
+ var sResponseText = oParameters.responseText;
216
220
 
217
221
  var oError = {
218
222
  message : sMessage,
@@ -229,6 +233,8 @@ sap.ui.define([
229
233
  if (bAsync) {
230
234
  return Promise.reject(oError);
231
235
  }
236
+
237
+ return undefined;
232
238
  }.bind(this);
233
239
 
234
240
  var _loadData = function(fnSuccess, fnError) {
@@ -268,6 +274,8 @@ sap.ui.define([
268
274
  return pReturn;
269
275
  } else {
270
276
  _loadData(fnSuccess, fnError);
277
+
278
+ return undefined;
271
279
  }
272
280
  };
273
281
 
@@ -307,12 +315,13 @@ sap.ui.define([
307
315
  /**
308
316
  * @see sap.ui.model.Model.prototype.bindTree
309
317
  *
310
- * @param {object}
311
- * [mParameters=null] additional model specific parameters (optional)
312
- * If the mParameter <code>arrayNames</code> is specified with an array of string names this names will be checked against the tree data structure
313
- * and the found data in this array is included in the tree but only if also the parent array is included.
314
- * If this parameter is not specified then all found arrays in the data structure are bound.
315
- * If the tree data structure doesn't contain an array you don't have to specify this parameter.
318
+ * @param {object} [mParameters=null]
319
+ * Additional model specific parameters; if the mParameter <code>arrayNames</code> is
320
+ * specified with an array of string names these names will be checked against the tree data
321
+ * structure and the found data in this array is included in the tree, but only if the parent
322
+ * array is also included; if this parameter is not specified then all found arrays in the
323
+ * data structure are bound; if the tree data structure doesn't contain an array, this
324
+ * parameter doesn't need to be specified
316
325
  *
317
326
  */
318
327
  JSONModel.prototype.bindTree = function(sPath, oContext, aFilters, mParameters, aSorters) {
@@ -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
  // Provides the JSON model implementation of a property binding
8
8
  sap.ui.define([
9
9
  'sap/ui/model/ChangeReason',
@@ -51,10 +51,11 @@ sap.ui.define([
51
51
  };
52
52
 
53
53
  /**
54
- * Check whether this Binding would provide new values and in case it changed,
55
- * inform interested parties about this.
54
+ * Check whether this Binding would provide new values and in case it changed, fire a change
55
+ * event with change reason <code>Change</code>.
56
56
  *
57
57
  * @param {boolean} bForceupdate
58
+ * Whether the change event will be fired regardless of the bindings state
58
59
  *
59
60
  */
60
61
  JSONPropertyBinding.prototype.checkUpdate = function(bForceupdate){
@@ -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
  // Provides the JSON model implementation of a list binding
8
8
  sap.ui.define(['sap/ui/model/ClientTreeBinding'],
9
9
  function(ClientTreeBinding) {
@@ -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
  // Provides the JSON model implementation of a list binding
8
8
  sap.ui.define([
9
9
  "sap/base/strings/hash",
@@ -135,16 +135,18 @@ sap.ui.define([
135
135
  * inform interested parties about this.
136
136
  *
137
137
  * @param {boolean} bForceupdate
138
+ * Whether interested parties should be informed regardless of the bindings state
138
139
  *
139
140
  */
140
141
  MessageListBinding.prototype.checkUpdate = function(bForceupdate){
142
+ var oList;
141
143
 
142
144
  if (this.bSuspended && !this.bIgnoreSuspend) {
143
145
  return;
144
146
  }
145
147
 
146
148
  if (!this.bUseExtendedChangeDetection) {
147
- var oList = this.oModel._getObject(this.sPath, this.oContext);
149
+ oList = this.oModel._getObject(this.sPath, this.oContext);
148
150
  if (!deepEqual(this.oList, oList) || bForceupdate) {
149
151
  this.update();
150
152
  this._fireChange({reason: ChangeReason.Change});
@@ -154,7 +156,7 @@ sap.ui.define([
154
156
  var that = this;
155
157
 
156
158
  //If the list has changed we need to update the indices first.
157
- var oList = this.oModel._getObject(this.sPath, this.oContext);
159
+ oList = this.oModel._getObject(this.sPath, this.oContext);
158
160
  if (!deepEqual(this.oList, oList)) {
159
161
  this.update();
160
162
  }
@@ -170,6 +172,7 @@ sap.ui.define([
170
172
  bChangeDetected = true;
171
173
  return false;
172
174
  }
175
+ return true;
173
176
  });
174
177
  }
175
178
  } else {
@@ -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
  /**
8
8
  * Message DataBinding
9
9
  *
@@ -22,12 +22,14 @@ sap.ui.define(['sap/ui/model/BindingMode', 'sap/ui/model/ClientModel', 'sap/ui/m
22
22
  * Constructor for a new JSONModel.
23
23
  *
24
24
  * @class
25
- * Model implementation for Messages
25
+ * Model implementation for Messages.
26
+ *
27
+ * This model is not prepared to be inherited from.
26
28
  *
27
29
  * @extends sap.ui.model.ClientModel
28
30
  *
29
31
  * @author SAP SE
30
- * @version 1.93.3
32
+ * @version 1.96.2
31
33
  *
32
34
  * @param {sap.ui.core.message.MessageManager} oMessageManager The MessageManager instance
33
35
  * @public
@@ -88,7 +90,12 @@ sap.ui.define(['sap/ui/model/BindingMode', 'sap/ui/model/ClientModel', 'sap/ui/m
88
90
  * Unsupported operation.
89
91
  *
90
92
  * Other models provide this method to set a new value for a specific property.
91
- * <code>MessageModel</code> does not support it as it supports the <code>OneWay</code> mode only.
93
+ * <code>MessageModel</code> does not support it as it supports the <code>OneWay</code> mode
94
+ * only.
95
+ *
96
+ * @param {string} sPath Unused in this implementation
97
+ * @param {object} oValue Unused in this implementation
98
+ * @param {sap.ui.model.Context} oContext Unused in this implementation
92
99
  *
93
100
  * @public
94
101
  */
@@ -98,23 +105,24 @@ sap.ui.define(['sap/ui/model/BindingMode', 'sap/ui/model/ClientModel', 'sap/ui/m
98
105
  };
99
106
 
100
107
  /**
101
- * Returns the value for the property with the given <code>sPropertyName</code>
102
- *
103
- * @param {string} sPath the path to the property
104
- * @param {object} [oContext=null] the context which will be used to retrieve the property
105
- * @type any
106
- * @return the value of the property
107
- * @public
108
- */
108
+ * Returns the value for the property with the given <code>sPropertyName</code>.
109
+ *
110
+ * @param {string} sPath The path to the property
111
+ * @param {sap.ui.model.Context} [oContext] The context to resolve a relative path with
112
+ *
113
+ * @return {any} The value of the property
114
+ * @public
115
+ */
109
116
  MessageModel.prototype.getProperty = function(sPath, oContext) {
110
117
  return this._getObject(sPath, oContext);
111
118
 
112
119
  };
113
120
 
114
121
  /**
115
- * @param {string} sPath
116
- * @param {object} [oContext]
117
- * @returns {any} the node of the specified path/context
122
+ * @param {string} sPath The path to the property
123
+ * @param {sap.ui.model.Context} [oContext] The context to resolve a relative path with
124
+ *
125
+ * @returns {any} The node of the specified path/context
118
126
  */
119
127
  MessageModel.prototype._getObject = function (sPath, oContext) {
120
128
  var oNode;
@@ -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
  // Provides the JSON model implementation of a property binding
8
8
  sap.ui.define([
9
9
  'sap/ui/model/ChangeReason',
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * inform interested parties about this.
44
44
  *
45
45
  * @param {boolean} bForceupdate
46
- *
46
+ * Whether interested parties should be informed regardless of the bindings state
47
47
  */
48
48
  MessagePropertyBinding.prototype.checkUpdate = function(bForceupdate){
49
49
  var oValue = this._getValue();
@@ -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
  // Provides object sap.ui.model.odata.AnnotationHelper
8
8
  sap.ui.define([
9
9
  "./_AnnotationHelperBasics",
@@ -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
  // Provides class sap.ui.model.odata.ODataAnnotations
8
8
  sap.ui.define([
9
9
  "sap/base/assert",
@@ -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
  // Provides enumeration sap.ui.model.CountMode
8
8
  sap.ui.define(function() {
9
9
  "use strict";
@@ -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
  // Provides a filter for list bindings
8
8
  sap.ui.define([
9
9
  'sap/ui/base/Object',